package cn.jinbyte.data.config;

import lombok.Data;

import java.util.concurrent.TimeUnit;

/**
 * 加密配置类
 */
@Data
public class CryptProperties {
    /**
     * sm2缓存配置
     */
    private Sm2 sm2 = new Sm2();

    private Sm4 sm4 = new Sm4();

    @Data
    public static class Sm2 {
        /**
         * 是否启用SM2密钥对缓存，默认启用
         */
        private boolean enable = true;
        /**
         * 缓存类型，可选值：redis
         */
        private String cacheType = "redis";
        /**
         * 缓存key的前缀，默认为sm2:
         */
        private String keyPrefix = "sm2:";

        /**
         * 缓存的过期时间，默认60秒
         */
        private long timeout = 60L;
        /**
         * 缓存的过期时间单位，默认秒
         */
        private TimeUnit timeUnit = TimeUnit.SECONDS;
    }

    @Data
    public static class Sm4 {
    }

}
